package com.ruoyi.system.mapper;

import java.util.List;
import com.ruoyi.system.domain.BorrowRecord;
import com.ruoyi.system.domain.BorrowRecordInfo;

/**
 * 借阅记录Mapper接口
 * 
 * @author ruoyi
 * @date 2025-07-22
 */
public interface BorrowRecordMapper 
{
    /**
     * 查询借阅记录
     * 
     * @param id 借阅记录主键
     * @return 借阅记录
     */
    public BorrowRecord selectBorrowRecordById(Integer id);

    /**
     * 查询借阅记录列表
     * 
     * @param borrowRecord 借阅记录
     * @return 借阅记录集合
     */
    public List<BorrowRecord> selectBorrowRecordList(BorrowRecord borrowRecord);

    /**
     * 新增借阅记录
     * 
     * @param borrowRecord 借阅记录
     * @return 结果
     */
    public int insertBorrowRecord(BorrowRecord borrowRecord);

    /**
     * 修改借阅记录
     * 
     * @param borrowRecord 借阅记录
     * @return 结果
     */
    public int updateBorrowRecord(BorrowRecord borrowRecord);

    /**
     * 删除借阅记录
     * 
     * @param id 借阅记录主键
     * @return 结果
     */
    public int deleteBorrowRecordById(Integer id);

    /**
     * 批量删除借阅记录
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteBorrowRecordByIds(Integer[] ids);

    /**
     * 批量删除借阅记录明细
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteBorrowRecordInfoByBrIds(Integer[] ids);
    
    /**
     * 批量新增借阅记录明细
     * 
     * @param borrowRecordInfoList 借阅记录明细列表
     * @return 结果
     */
    public int batchBorrowRecordInfo(List<BorrowRecordInfo> borrowRecordInfoList);
    

    /**
     * 通过借阅记录主键删除借阅记录明细信息
     * 
     * @param id 借阅记录ID
     * @return 结果
     */
    public int deleteBorrowRecordInfoByBrId(Integer id);
}
